package com.docmgmt.mvp.dto;

import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 添加文件夹权限请求
 *
 * @author Dora
 */
@Data
public class AddFolderPermissionRequest {

    /**
     * 授权对象类型：user/department/user_group/all
     */
    @NotBlank(message = "授权对象类型不能为空")
    private String subjectType;

    /**
     * 授权对象ID（subjectType=all时可为null）
     */
    private Long subjectId;

    /**
     * 权限级别：read/write/admin
     * - read: 只读
     * - write: 读写（不能删除文件夹）
     * - admin: 完全控制（包括删除和管理权限）
     */
    @NotBlank(message = "权限级别不能为空")
    private String permission;

    /**
     * 优先级（可选，默认0）
     * 数字越大优先级越高，用于处理权限冲突
     */
    private Integer priority;
}
